/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Fabricas;

import expertos.Experto;
import persistencia.Decoradores.DecoradorABMClientes;
import persistencia.Decoradores.DecoradorMateriales;
import persistencia.Decoradores.DecoradorProductos;
import persistencia.Decoradores.DecoradorProveedores;
import persistencia.Decoradores.DecoradorVenta;

/**
 *
 * @author diego
 */
public class FabricaExpertos {
    
    private static FabricaExpertos instancia;
    
    public static FabricaExpertos getInstancia(){
        if (instancia == null){
            instancia = new FabricaExpertos();
        }
        return instancia;
    }
    
    public enum expertos{
        MATERIALES, CLIENTES, PROVEEDORES,ARTICULOS, VENTAS, PRODUCTOS

    }
    
    public Experto getExperto(expertos expertoNombre){
        switch(expertoNombre){
            case MATERIALES:
                return new DecoradorMateriales();
            case CLIENTES:
                return new DecoradorABMClientes();
            case PROVEEDORES:
                return new DecoradorProveedores();
            case VENTAS:
                return new DecoradorVenta();
            case PRODUCTOS:
                return new DecoradorProductos();
            default:
                return null;
            
        }
    }
    
}
